const fs = require('fs')
const path = require('path')

// 读取文件
// fs.readFile(path.join(__dirname, './files/1.txt'), 'utf-8', (err, dataStr) => {
//     if (err) throw err;
//     console.log(dataStr)
// })

function getFileByPath(fpath, successMethod, errorMethod) {
    fs.readFile(fpath, 'utf-8', (err, dataStr) => {
        if (err) return errorMethod(err);
        successMethod(dataStr);
    })
}

// getFileByPath(path.join(__dirname,'./files/1.txt'), function(data){
//     console.log(data);
// },function(err){
//     console.log('失败=====================');
// })

// 按顺序读取1，2，3
// 回掉地狱
// promise的本质 是为了解决回调地狱问题，并不能够减少代码量
getFileByPath(path.join(__dirname, './files/1.txt'), function (data) {
    console.log(data);
    getFileByPath(path.join(__dirname, './files/2.txt'), function (data) {
        console.log(data);
        getFileByPath(path.join(__dirname, './files/3.txt'), function (data) {
            console.log(data);
        }, function (err) {
            console.log('失败=====================');
        })
    }, function (err) {
        console.log('失败=====================');
    })
}, function (err) {
    console.log('失败=====================');
})